package org.example;

/**
 * 动态数组
 */
public class DynamicArray {
    private int size = 0;//逻辑大小
    private int capacity = 8;//容量
    private int[] array = new int[capacity];

    //向最后位置添加元素
    public void addLast(int element){
//        array[size] = element;
//        size++;
        add(size,element);
    }

    //向[0,size]位置添加元素
    public void add(int index, int element){
        if (index>=0&&index<=size){
        //数组之间的拷贝复制（原始数组，位置，目标数组，目标位置，数量）
        System.arraycopy(array,index, array,index+1,size-index);
            array[size] = element;
            size++;
        }
        else {
            System.out.println("index不合法");
        }
    }

    //[0,size)
    public int get(int index){
        return array[index];
    }
}
